home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1993-04-25 | 2.2 KB | 62 lines |
- 10 'RTJUST.BAS copyright G.Michels Mar 1990
- 20 '
- 30 '
- 100 'A$=ONE CHAR READ TB=CHAR COUNT PER LINE (CURSOR POSTION)
- 110 'LSC(SP)=LINE SPACE COUNT SP=OCCURANCE OF SPACE IN A LINE
- 120 'INDENT=0 IF NO INDENT, CR=CARRIAGE RETURN COUNT
- 130 'Y=COL WIDTH OF LINE Z=LINE COUNTER
- 140 'X=TOTAL CHAR COUNT OF=OVERFLOW OF CHAR TO BE CARRIED TO NEXT LINE
- 150 'READS A SEQUENTIAL FILE FROM .DOC OR DESKMATE TEXT AND
- 155 'RIGHT JUSTIFY AND SAVES TO NEW .DOC FILE FOR FURTHER EDITING.
- 160 '
- 170 '
- 180 CLS:PRINT "LINE WIDTH IS 70 CHAR.. CHANGE? Y/N :"
- 185 INPUT ANS$:IF ANS$="Y" THEN PRINT"EDIT 250 AND CHANGE Y TO DESIRED LENGTH."
- 190 PRINT LW$"WHAT .DOC FILE DO YOU WISH TO RIGHT JUSTIFY? :"
- 200 INPUT LW$:LOW$=LW$+".DOC"
- 210 PRINT RJ$"NAME OF OUTPUT .DOC FILE? :"
- 220 INPUT RJ$:RTJ$=RJ$+".DOC"
- 230 'LPRINT CHR$(27);CHR$(33):LPRINT CHR$(27);CHR$(17)
- 240 INDENT=0:'***ADD INDENT FEATURE LATER FOR 5 SPACES
- 250 Y=70:Z=1:S=1:'REM Y=LINE LENGTH AND Z=LINE COUNTER.S=A$(S)DTSET END IN SPACE
- 260 X=1:TB=1:SP=1:'TB reflects cursor POSITION,X TOTAL CHAR COUNT,SP SPACE COUNT
- 270 DIM A$(Y+1):DIM B$(30):SP=1:'A$=CHAR READ,LSC=LINE SPACE COUNT,SP=SPACE
- 280 '****WIDEST PRINT LINE "SET Y" IS 70 JUST AS IN DESKMATE TEXT***"
- 290 '
- 300 OPEN "I",#1,LOW$
- 305 OPEN "O",#2,RTJ$
- 310 A$(TB)=INPUT$(1,#1):OF$=OF$+A$(TB)
- 320 IF A$(TB)=" " THEN GOTO 440
- 340 IF A$(TB)=CHR$(13) THEN GOTO 450
- 345 IF EOF (1) THEN 365
- 350 IF TB=Y THEN GOTO 500
- 360 TB=TB+1:X=X+1:GOTO 310
- 365 PRINT TAB(1),C$
- 370 PRINT #2,C$:CLOSE 1:PRINT:PRINT "FILE CLOSING":PRINT"#LINES="Z
- 380 PRINT"#CHAR="X:END
- 390 C=(LEN(C$)-1):C$=LEFT$(C$,C)
- 395 PRINT #2, C$
- 400 PRINT TAB(1) C$;:C$="":Z=Z+1:S=1:PRINT TAB(80)" "
- 410 IF LEN(OF$)>0 THEN TB=LEN(OF$)+1:ELSE TB=1
- 420 GOTO 310:'PRINT TAB(70) LEN(OF$)" "X
- 430 '
- 440 B$(S)=OF$:C$=C$+B$(S):S=S+1:OF$="":GOTO 345
- 450 C=(LEN(OF$)-1):OF$=LEFT$(OF$,C)
- 455 PRINT C$;OF$;:PRINT #2,C$;OF$;
- 460 OF$="":TB=0:C$="":Z=Z+1:S=1:GOTO 310
- 470 '***IF LINE NOT SKIPPED AFTER CAR.RET. THAN LAST LINE OF PARA RUNS OVER***
- 480 '***IF NO PRINT TAB(NN) LINE 330, LINE AFTER C/R OVERLAPS PRIOR LINE**
- 490 '
- 500 IF LEN(OF$)=0 THEN GOTO 390
- 510 S=S-1:C$="":LO=LEN(OF$)
- 520 S2=INT(LO/S):M=LO MOD S:'PRINT TAB(55)TB" "LO" "S2" "M" "S
- 530 '
- 540 LS=S*S2+M
- 550 FOR SC=1 TO S
- 560 IF LS>0 THEN B$(SC)=B$(SC)+" "
- 570 IF LS>S-1 THEN B$(SC)=B$(SC)+" "
- 580 LS=LS-1
- 590 C$=C$+B$(SC):NEXT SC
- 600 'PRINT"Z"
- 610 GOTO 390
-